LSTM
# Tag:
- Source/KU_ML2
- Subject/AI/NLP
LSTM(Long Short Term Memory)
기존의 RNN에서, 장기 기억(Cell State)와 단기 기억(Hidden State)를 별도로 둠으로써, 중요하게 기억해야 할 정보와 그렇지 않은 정보를 구분해 Gradient Vanishing 문제와 short-term memory 문제를 다소 줄인 방식.
Structure

variable
- Cell State(): 시간까지 기억하고 있는 장기 기억 메모리
- Hidden state(): 시간에서의 모델 출력 값
- Input(): 시간에서의 입력 값
Gates
입력과 이전 기억에 대한 weights를 조절해가면서, Cell State와 Hidden State를 적절히 조합해 이전의 정보를 계속해서 유지시킨다.
Forget Gate
을 얼마나 반영할 지. 0에 가깝다면 거의 반영하지 않고, 1에 가깝다면 최대한 반영하는 것.
, : 현재 시점에 학습된 가중치.
MLP를 거쳐서 *Activation Function을 거치게 된다.
Input Gate
새로운 데이터를 얼마나 반영할지. 0에 가깝다면 새로운 거의 반영하지 않고, 1에 가깝다면 최대한 반영.
Cell State update
장기 기억과 새로운 데이터를 조합.
: temporal Cell state.
output Gate
output, 즉 time 에 대해 만들어지는 prediction.
Hidden State update
t에서의 output 값이자, hidden state. 중요할수록 1에 가깝게, 중요하지 않을수록 0에 가깝게.
전반적인 정보들을 전부 계산하여 다음 Hidden State로 넘긴다.